home *** CD-ROM | disk | FTP | other *** search
- package com.ms.directX;
-
- public class dSoundResource implements IdSoundResource {
- public native void LoadWaveResource(int var1, DSResourceDesc var2, byte[] var3);
-
- public WaveFormatEx LoadWaveResource(int var1, DSResourceDesc var2) {
- byte[] var3 = new byte[50];
- this.LoadWaveResource(var1, var2, var3);
- return this.MakeWaveFormat(var3);
- }
-
- public native void LoadWaveFile(String var1, DSResourceDesc var2, byte[] var3);
-
- public WaveFormatEx LoadWaveFile(String var1, DSResourceDesc var2) {
- System.out.println("Entered LoadWaveFile");
- byte[] var3 = new byte[50];
- System.out.println("Allocated byte buffer");
- this.LoadWaveFile(var1, var2, var3);
- System.out.println("Called COM ");
- return this.MakeWaveFormat(var3);
- }
-
- public native void ReadBuffer(int var1, int var2, int var3, DSResourceDesc var4, byte[] var5, int var6);
-
- private int getValFromBuff(byte[] var1, int var2, int var3) {
- int var4 = 0;
- var4 = var1[var2] + var1[var2 + 1] * 256;
- if (var3 > 2) {
- var4 += var1[var2 + 2] + var1[var2 + 3] * 256 << 16;
- }
-
- return var4;
- }
-
- private WaveFormatEx MakeWaveFormat(byte[] var1) {
- System.out.println("Entered MakeWaveFormat");
- WaveFormatEx var2 = new WaveFormatEx();
- System.out.println("Created WaveFormatEx");
- var2.wFormatTag = this.getValFromBuff(var1, 0, 2);
- var2.nChannels = this.getValFromBuff(var1, 2, 2);
- var2.nSamplesPerSec = this.getValFromBuff(var1, 4, 4);
- var2.nAvgBytesPerSec = this.getValFromBuff(var1, 8, 4);
- var2.nBlockAlign = this.getValFromBuff(var1, 12, 2);
- var2.wBitsPerSample = this.getValFromBuff(var1, 14, 2);
- var2.cbSize = this.getValFromBuff(var1, 16, 2);
- var2.extra = new byte[var2.cbSize];
-
- for(int var3 = 0; var3 < var2.cbSize; ++var3) {
- var2.extra[var3] = var1[var3 + 18];
- }
-
- return var2;
- }
- }
-